package com.relytosoft.mizar.analyze.system.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 计划模板
 *
 * @author lj
 * @date 2022/5/12 10:09
 */
@TableName("AY_PLAN_TEMPLATE")
@ApiModel("AyPlanTemplate")
public class AyPlanTemplate extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.AUTO)
    @ApiModelProperty(value = "主键", required = true)
    private Integer id;

    /**
     * 模板名称
     */
    @ApiModelProperty(value = "模板名称", required = true)
    @TableField("NAME")
    private String name;

    /**
     * 计划类型;0：周计划 1：日计划（周一到周日计划相同） 2：全天
     */
    @ApiModelProperty(value = "计划类型;0：周计划 1：日计划（周一到周日计划相同） 2：全天", required = true)
    @TableField("PLAN_TYPE")
    private Integer planType;

    /**
     * 计划信息条数;取值范围如下： 周计划时：1～7 日计划时：1 全天：0
     */
    @ApiModelProperty(value = "计划信息条数;取值范围如下： 周计划时：1～7 日计划时：1 全天：0")
    @TableField("PLAN_INFO_NUM")
    private Integer planInfoNum;

    /**
     * 计划信息列表;(json数据) 周计划时最多7个计划时间信息 日计划时最多1个计划时间信息 全程录时无计划时间信息
     */
    @ApiModelProperty(value = "计划信息列表;(json数据) 周计划时最多7个计划时间信息 日计划时最多1个计划时间信息 全程录时无计划时间信息")
    @TableField("PLAN_INFO_LIST")
    private String planInfoList;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", required = true)
    @TableField("STATUS")
    private Integer status;

    /**
     * 获得主键
     */
    public Integer getId() {
        return this.id;
    }

    /**
     * 设置主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获得模板名称
     */
    public String getName() {
        return this.name;
    }

    /**
     * 设置模板名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获得计划类型;0：周计划 1：日计划（周一到周日计划相同） 2：全天
     */
    public Integer getPlanType() {
        return this.planType;
    }

    /**
     * 设置计划类型;0：周计划 1：日计划（周一到周日计划相同） 2：全天
     */
    public void setPlanType(Integer planType) {
        this.planType = planType;
    }

    /**
     * 获得计划信息条数;取值范围如下： 周计划时：1～7 日计划时：1 全天：0
     */
    public Integer getPlanInfoNum() {
        return this.planInfoNum;
    }

    /**
     * 设置计划信息条数;取值范围如下： 周计划时：1～7 日计划时：1 全天：0
     */
    public void setPlanInfoNum(Integer planInfoNum) {
        this.planInfoNum = planInfoNum;
    }

    /**
     * 获得计划信息列表;(json数据) 周计划时最多7个计划时间信息 日计划时最多1个计划时间信息 全程录时无计划时间信息
     */
    public String getPlanInfoList() {
        return this.planInfoList;
    }

    /**
     * 设置计划信息列表;(json数据) 周计划时最多7个计划时间信息 日计划时最多1个计划时间信息 全程录时无计划时间信息
     */
    public void setPlanInfoList(String planInfoList) {
        this.planInfoList = planInfoList;
    }

    /**
     * 获得状态
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * 设置状态
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "AyPlanTemplate{id=" + id +
                ",name=" + name +
                ",planType=" + planType +
                ",planInfoNum=" + planInfoNum +
                ",planInfoList=" + planInfoList +
                ",status=" + status +
                ",createdId=" + createdId +
                ",createdBy=" + createdBy +
                ",createdTime=" + createdTime +
                ",updatedId=" + updatedId +
                ",updatedBy=" + updatedBy +
                ",updatedTime=" + updatedTime +
                "}";
    }
}
